// 测试前后端联调
const app = getApp();

Page({
  data: {
    loginStatus: '未登录',
    userInfo: null
  },

  onLoad: function() {
    // 检查登录状态
    this.checkLoginStatus();
  },

  checkLoginStatus: function() {
    const token = wx.getStorageSync('token');
    if (token) {
      this.setData({
        loginStatus: '已登录',
        userInfo: app.globalData.userInfo
      });
    } else {
      this.setData({
        loginStatus: '未登录'
      });
    }
  },

  // 模拟登录
  onTestLogin: function() {
    // 这里使用一个测试code，实际开发中需要使用wx.login获取真实code
    const testData = {
      code: 'test_code_123456',
      nickname: '测试用户',
      avatar: 'https://example.com/avatar.jpg'
    };

    wx.request({
      url: 'http://localhost:8000/api/auth/wx_login/',
      method: 'POST',
      data: testData,
      success: (res) => {
        console.log('登录响应:', res);
        if (res.statusCode === 200) {
          wx.setStorageSync('token', res.data.access);
          app.globalData.token = res.data.access;
          app.globalData.userInfo = res.data.user;
          
          this.setData({
            loginStatus: '登录成功',
            userInfo: res.data.user
          });
          
          wx.showToast({
            title: '登录成功',
            icon: 'success'
          });
        } else {
          wx.showToast({
            title: '登录失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('登录失败:', err);
        wx.showToast({
          title: '网络错误',
          icon: 'none'
        });
      }
    });
  },

  // 测试获取用户信息
  onTestGetUserInfo: function() {
    const token = wx.getStorageSync('token');
    if (!token) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      return;
    }

    wx.request({
      url: 'http://localhost:8000/api/auth/userinfo/',
      header: {
        'Authorization': `Bearer ${token}`
      },
      success: (res) => {
        console.log('用户信息响应:', res);
        if (res.statusCode === 200) {
          this.setData({
            userInfo: res.data
          });
          wx.showToast({
            title: '获取成功',
            icon: 'success'
          });
        } else {
          wx.showToast({
            title: '获取失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('获取用户信息失败:', err);
        wx.showToast({
          title: '网络错误',
          icon: 'none'
        });
      }
    });
  }
});